Только изменение кода. Добавляем описание функций реакции:
#include "afxwin.h" #include "GL/gl.h" #include "GL/glu.h" #include "GL/glaux.h" void myinit(void); void CALLBACK display(void); void CALLBACK ProcUp(void); void CALLBACK ProcDown(void); void CALLBACK RrocLeft(void); void CALLBACK ProcRight(void);
Связываем функции с нажатием клавиш:
int main(int argc, char** argv)
{
auxInitDisplayMode (AUX_SINGLE | AUX_RGB );
auxInitPosition (0, 0, 500, 500);
auxInitWindow ("1-6");
myinit ();
auxKeyFunc(AUX_UP, ProcUp);
auxKeyFunc(AUX_DOWN, ProcDown);
auxKeyFunc(AUX_LEFT, RrocLeft);
auxKeyFunc(AUX_RIGHT, ProcRight);
auxMainLoop(display);
return(0);
}
И реализация:
void CALLBACK ProcUp (void)
{
MessageBox(0,"Up","Press",MB_ICONINFORMATION);
}
void CALLBACK ProcDown (void)
{
MessageBox(0,"Down","Press",MB_ICONINFORMATION);
}
void CALLBACK RrocLeft(void)
{
MessageBox(0,"Left","Press",MB_ICONINFORMATION);
}
void CALLBACK ProcRight(void)
{
MessageBox(0,"Rigth","Press",MB_ICONINFORMATION);
}
Для реакции на клавиши необходимо создать описание и реализацию функций типа CALLBACK. Далее эти функции привязываются к нажатиям клавиш с помощью auxKeyFunc. Важно связать функции и клавиши до вызова auxMainLoop. В auxKeyFunc передается код клавиши и адрес функции.
Делайте всё необходимое и запускайте. Нажимаете на кнопки - появляются диалоговые окна. Класс !!!. Только окно должно быть в фокусе (активным) иначе сообщения получит кто-то другой.
Функции должны быть CALLBACK.
Свяжите функцию с клавишей:
auxKeyFunc (AUX_UP, ProcUp); ...... auxMainLoop (display);